package com.yuyou.fn.tradingservice.service;

import com.github.wens.framework.service.ISuperService;
import com.yuyou.fn.platform.entity.SysUser;
import com.yuyou.fn.tradingservice.entity.LeaseMessage;
import com.yuyou.fn.tradingservice.entity.ServiceProduct;
import com.yuyou.fn.tradingservice.vo.LeaseDetailVo;
import com.yuyou.fn.tradingservice.vo.LeaseMessagePriceVo;
import com.yuyou.fn.tradingservice.vo.LeaseMessageQueryVo;
import com.yuyou.fn.tradingservice.vo.TimeStampLong;

import java.util.List;

/**
 *
 * LeaseMessage 表数据服务层接口
 *
 */
public interface ILeaseMessageService extends ISuperService<LeaseMessage,Long> {

    List<LeaseMessage> saveLeaseMessage(SysUser sysUser, List<LeaseMessagePriceVo> leaseMessagePriceVoList, ServiceProduct serviceProduct);

    List<LeaseMessage> canLease(SysUser sysUser, List<LeaseMessage> leaseMessageList, ServiceProduct serviceProduct);

    List<TimeStampLong> fillLeaseMessage(LeaseMessage leaseMessage,ServiceProduct serviceProduct);

    LeaseDetailVo findLeaseDetailVo(LeaseMessage leaseMessage);

    void offLease(Long leaseId,Integer status,Long productId);

    List<LeaseMessage> findLeaseMessage(LeaseMessageQueryVo leaseMessageQueryVo);

    List<TimeStampLong> getTimeStampLongList(LeaseMessage leaseMessage);


    void deleteLeaseById(Long leaseId);

    void deleteByProductIds(List<Long> productIds);

    void updateStatusByProductId(Long productId,Integer status);
}